﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QLDL
{
    public partial class frmTinh : Form
    {
        lib tv = new lib();
        bool luu;
        DataTable tb = new DataTable();
        public frmTinh()
        {
            InitializeComponent();
        }

        private void frmTinh_Load(object sender, EventArgs e)
        {
            LoadDefault();
        }
        public void setcontrols(bool an)
        {
            btnHuy.Enabled = an;
            btnLuu.Enabled = an;
            btnThem.Enabled = !an;
            btnSua.Enabled = !an;
            btnXoa.Enabled = !an;
            txtMaTT.Enabled = an;
            txtTenTT.Enabled = an;
            txtDanSo.Enabled = an;
            dgvTT.Enabled = !an;
        }
        //làm trắng controls
        public void setresets()
        {
            txtMaTT.ResetText();
            txtTenTT.ResetText();
            txtDanSo.ResetText();
        }

        //buoc1 load form
        public void LoadDefault()
        {
            try
            {
                setcontrols(false);
                setresets();
                string sql = "select MATT as [Mã Tỉnh Thành], TENTT as [Tên Tỉnh Thành], DANSO as [Dân Số] from TINHTHANH order by MATT";
                tb = tv.taobang(sql);
                dgvTT.DataSource = tb;
                dgvTT.AutoResizeColumns();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Xảy ra lỗi, kiểm tra thông tin bên dưới\n" + ex.Message, "Lỗi hệ thống", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult xoa;
            xoa = MessageBox.Show("Chắc Xóa\nTỉnh Thành: " + txtTenTT.Text + " ", "Thông Báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
            if (xoa == DialogResult.OK)
            {
                try
                {
                    tv.truyvan("DELETE TINHTHANH where MATT = '" + txtMaTT.Text + "'");
                    frmTinh_Load(sender, e);
                    MessageBox.Show("Xóa thành công", "Thông báo");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Xóa Thất Bại. Thử Lại\n" + ex.Message, "Hệ thống lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            frmTinh_Load(sender, e);
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            setcontrols(true);
            luu = true;
            setresets();
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            luu = false;
            setcontrols(true);
            txtMaTT.Focus();
        }

        private void dgvTT_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                txtMaTT.Text = this.dgvTT.Rows[e.RowIndex].Cells[0].Value.ToString();
                txtTenTT.Text = this.dgvTT.Rows[e.RowIndex].Cells[1].Value.ToString();
                txtDanSo.Text = this.dgvTT.Rows[e.RowIndex].Cells[2].Value.ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Xảy ra lỗi, kiểm tra thông tin bên dưới\n" + ex.Message, "Lỗi hệ thống", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }

        private void btnDong_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
          /*  //Buoc 3.1 Them
            if (luu)
            {
                try
                {
                    //-------test lỗi----------------------------
                    //kiểm tra rỗng
                    if ((txtMaTT.Text == "") || (txtTenTT.Text == "")) // Dan So
                    {
                        MessageBox.Show("Kiểm tra>>\nChưa nhập đầy đủ thông tin", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                    //kiểm tra độ dài ký tự nhập
                    if (txtMaTT.Text.Length > 4 || txtTenTT.Text.Length > 50)
                    {
                        MessageBox.Show("Bạn đã nhập vượt số ký. Xin vui lòng nhập lại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                    //---------------------------kết thúc test lỗi
                    tv.truyvan("INSERT INTO TINHTHANH values('" + txtMaTT.Text.Trim() + "',N'" + txtTenTT.Text.Trim() + "')"); //Dân số
                    MessageBox.Show("Đã thêm\nTỉnh Thành: " + txtTenTT.Text + " ", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    frmTinh_Load(sender, e);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Thêm thất bại. Thử lại\n" + ex.Message, "Hệ thống lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            //Buoc 4.1 Sua
            else if (!luu)
                try
                {
                    tv.truyvan("UPDATE TINHTHANH SET MATT = '" + txtMaTT.Text.Trim() + "', TENTT = N'" + txtTenTT.Text.Trim() + " ' where MATT = '" + this.dgvTinh.Rows[dgvTinh.CurrentRow.Index].Cells[0].Value.ToString().Trim() + "'");
                    frmTinh_Load(sender, e);
                    MessageBox.Show("Đã cập nhật", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Cập nhật thất bại. Thử lại\n" + ex.Message, "Hệ thống lỗi!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }*/
        }  
    }
}
